home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / LaZaRuS XXIV.txt < prev    next >
Encoding:
Text File  |  1999-07-08  |  5.9 KB  |  101 lines

  1.  
  2.  
  3.                      L                ZZZZZZ         RRRRR           SSSSS
  4.                      L                    Z          R    R         S
  5.                      L          aaa      Z      aaa  R    R  u   u  S
  6.                      L            a     Z         a  RRRRR   u   u  SSSSS
  7.                XX    L         aaaa    Z       aaaa  R    R  u   u       S
  8.               XXXX   L        a   a   Z       a   a  R    R  u   u       S
  9.              XXXXXX  LLLLLLL  aaaaa  ZZZZZZZ  aaaaa  R    R  uuuuu  SSSSSS
  10.              XXXXXX       
  11.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  12.        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  13.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  14.              XXXXXX
  15.              XXXXXX
  16.               XXXX        proudly presents his 24.Cracking Tutorial (08.07.1999)
  17.                XX                       tC's CrackMe [id:14]
  18.  
  19. I.    Introduction
  20. II.   The essay
  21. III.  BTW
  22. IV.   All Tutorials by LaZaRuS
  23.  
  24. I.   Welcome to my 24st cracking tutorial.
  25.  
  26. I.1  HexWorkshop 2.54
  27.      tC's CrackMe [id:14]
  28.  
  29. II.  The essay
  30.      The goal of this CrackMe is to get rid of the nag-screen that is shown at the start of
  31.      the CrackMe. At first I tried to get rid of it with the help of a deadlisting in W32Dasm.
  32.      Somehow this didn't lead me somewhere. Then I remembered: tC? CrackMes? Must be Delphi!!!
  33.      So let's head for a clean Delphi crack. You should know that the properties of every 
  34.      component that is designed in Delphi (Buttons, ListBoxes, EditFields, Windows) are stored
  35.      in plain text in the EXE file. So, we just have to find the references and edit them for
  36.      our purposes :) You should know that a standard window is derived from the class TForm.
  37.      So let's search for it in the hexeditor. You will find some references that are completely
  38.      useless. The last one you find in the file is the declaration we search for. You can
  39.      recognize it easily by looking at the "environment" of the TForm. You find strings like
  40.      "Top", "Left", "Height"... which are properties of this window. We are completely right :)
  41.      After some time spending to look at references that could be useful I suddenly saw:
  42.      TAHMSplashScreen - Doesn't that look like a reference to the splash screen that we have to
  43.      kill??? Thanx to tC for giving us a predefined Delphi component. This will make it easier.
  44.      Currently I am talking about this passage:
  45.  
  46.      0005BF20 0010 5441 484D 5370 6C61 7368 5363 7265 ..TAHMSplashScre
  47.      0005BF30 656E 0468 697A 610A 496D 6167 652E 4461 en.hiza.Image.Da
  48.      0005BF40 7461 0ADA 3B00 00D6 3B00 0042 4DD6 3B00 ta..;...;..BM.;.
  49.      0005BF50 0000 0000 0076 0000 0028 0000 002C 0100 .....v...(...,..
  50.      0005BF60 0064 0000 0001 0004 0000 0000 0060 3B00 .d...........`;.
  51.      0005BF70 0012 0B00 0012 0B00 0010 0000 0010 0000 ................
  52.      0005BF80 0000 0000 0000 0080 0000 8000 0000 8080 ................
  53.      0005BF90 0080 0000 0080 0080 0080 8000 00C0 C0C0 ................
  54.      0005BFA0 0080 8080 0000 00FF 0000 FF00 0000 FFFF ................
  55.      0005BFB0 00FF 0000 00FF 00FF 00FF FF00 00FF FFFF ................
  56.      0005BFC0 0033 3333 3333 3333 3333 3333 3333 3333 .333333333333333
  57.      0005BFD0 3333 3333 3333 3333 3333 3333 3333 3333 3333333333333333
  58.      0005BFE0 3333 3333 3333 3333 3333 3333 3333 3333 3333333333333333
  59.      0005BFF0 3333 3333 3333 3333 3333 3333 3333 3333 3333333333333333
  60.  
  61.      You will quite many 3333 here. They belong to the data for the image that is displayed at
  62.      the splash screen. After them you will see this:
  63.  
  64.      0005FB20 FF0B 5370 6C61 7368 5769 6474 6803 0000 ..SplashWidth...
  65.      0005FB30 0C53 706C 6173 6848 6569 6768 7402 000C .SplashHeight...
  66.      0005FB40 4F6E 5370 6C61 7368 446F 6E65 0705 636C OnSplashDone..cl
  67.      0005FB50 6F73 650B 4465 6C61 7949 6E4D 7365 6303 ose.DelayInMsec.
  68.      0005FB60 0000 1649 6E73 6964 6546 7261 6D65 2E46 ...InsideFrame.F
  69.      0005FB70 7261 6D65 5374 796C 6507 0C66 7261 6D65 rameStyle..frame
  70.      0005FB80 4C6F 7765 7265 640B 426F 7264 6572 7769 Lowered.Borderwi
  71.      0005FB90 6474 6802 0004 4C65 6674 0240 0354 6F70 dth...Left.@.Top
  72.  
  73.      Especially interesting seems the property "DelayInMsec". Something says to me that this
  74.      is the time the nag is displayed. So change the two bytes at 5FB60 and 5FB61 to 0000 (do
  75.      not change the byte at 5FB5F as the first byte after a property has nothing to do with the
  76.      value of the property). Restart the CrackMe and see that the nag has disappeared. No, not
  77.      really: It is displayed for only 0.01 seconds, but it has not completely vanished. Now we
  78.      have to make it "invisible". Just change the SplashWidth and SplashHeight properties to 0000
  79.      and the work is done. At the end it should look like this:
  80.  
  81.      0005FB20 FF0B 5370 6C61 7368 5769 6474 6803 0000 ..SplashWidth...
  82.      0005FB30 0C53 706C 6173 6848 6569 6768 7402 000C .SplashHeight...
  83.      0005FB40 4F6E 5370 6C61 7368 446F 6E65 0705 636C OnSplashDone..cl
  84.      0005FB50 6F73 650B 4465 6C61 7949 6E4D 7365 6303 ose.DelayInMsec.
  85.      0005FB60 0000 1649 6E73 6964 6546 7261 6D65 2E46 ...InsideFrame.F
  86.      0005FB70 7261 6D65 5374 796C 6507 0C66 7261 6D65 rameStyle..frame
  87.      0005FB80 4C6F 7765 7265 640B 426F 7264 6572 7769 Lowered.Borderwi
  88.      0005FB90 6474 6802 0004 4C65 6674 0240 0354 6F70 dth...Left.@.Top
  89.  
  90.      Restart the CrackMe: The nag is gone - CrackMe solved :)
  91.  
  92. III. BTW
  93.      
  94.      Greets to: tKC, Ed!son, Moral Insanity, +Sandman, Fravia+ and everyone at #cracking4newbies,
  95.      +Sandman's forum and Fravia+'s forum.
  96.  
  97. IV.  All tutorials by LaZaRuS
  98.       
  99. Since 4th of July I made 17854 left clicks, 619 right clicks, 2726 double clicks and 124428
  100. key strokes. In this time my mouse moved more than 440 meters over the screen.
  101. (reported by ToggleMouse; cracked by myself - of course ;)